Presently, no unique and universally accepted identification string exists in the personal computer (PC) platform. As a result, there is presently no adequate way to uniquely or somewhat uniquely identify the computer. This shortcoming remains despite the numerous existing applications which could benefit from such an identifier. For example, remote access providers could offer improved security if each connected machine could be positively identified. Software copy protection could also be improved by identifying the host machine executing the software and preventing execution on other machines.
Additionally, other applications may indeed require such an identification. Forthcoming applications which provide the use of audio, video, or other data on a restricted basis may require platform or user identification which can not easily be defeated. For example, if an information or content provider wishes to authorize usage for only one user, or wishes to charge based on the number of uses of a particular compilation, some reliable mechanism must be used ensure access is properly limited.
Present systems may utilize some form of password protection to provide analogous security mechanisms. Such mechanisms, however, require user intervention and may be cumbersome and/or easily circumvented. Currently no sufficiently unique machine identifier exists absent user interaction.
The use of any single component identifier (e.g., manufacturer, model, and/or performance traits) is problematic for a number of reasons. First, component identifiers, such as Ethernet addresses, are not universally available in every platform. Second, such component identifiers are generally not unique. For example, BIOS (Basic Input/Output Software) identifications are neither unique nor universally available. Additionally, the use of a single identifier, such as a central processing unit identification (CPUID) may prove problematic when the system is upgraded. Any such scheme relying on a single component identifier will fail if the component is replaced with a higher performance component as is routinely done in the process of upgrading.
Thus, the prior art fails to provide a secure platform identification scheme which is generally available, reasonably unique, and immune to normal upgrading. A reasonably unique identifier which allows a user to upgrade the platform without destroying the identification of the platform and which can be generated regardless of the configuration and components of the machine could enable new applications and improve many which already exist.